#pragma once

/* 大小语法糖 */
#define BIT(x) 				(1UL << (x))
#define MASK_LOW(x) 			(BIT(x)-1UL)
#define MASK_HIGH(x) 			(~(BIT(x)-1UL))

#define SIZE_4K				(BIT(12))
#define SIZE_8K				(BIT(13))
#define SIZE_16K			(BIT(14))
#define SIZE_32K			(BIT(15))
#define SIZE_64K			(BIT(16))
#define SIZE_128K			(BIT(17))
#define SIZE_256K			(BIT(18))
#define SIZE_512K			(BIT(19))
#define SIZE_1M				(BIT(20))
#define SIZE_2M				(BIT(21))
#define SIZE_4M				(BIT(22))
#define SIZE_8M				(BIT(23))
#define SIZE_16M			(BIT(24))
#define SIZE_32M			(BIT(25))
#define SIZE_64M			(BIT(26))
#define SIZE_128M			(BIT(27))
#define SIZE_256M			(BIT(28))
#define SIZE_512M			(BIT(29))
#define SIZE_1G				(BIT(30))
#define SIZE_2G				(BIT(31))
#define SIZE_4G				(BIT(32))
#define SIZE_8G				(BIT(33))
#define SIZE_16G			(BIT(34))
#define SIZE_32G			(BIT(35))
#define SIZE_64G			(BIT(36))
